﻿#ifndef StatusReporterTask_H
#define StatusReporterTask_H
#include "AutoReleaseRunable.h"
#include <QObject>

class StatusReporterTask : public AutoReleaseRunable
{
public:
    StatusReporterTask();

    virtual ~StatusReporterTask();

    virtual int start();
};

extern StatusReporterTask gStatusReporterTask;

enum ReportStatusState
{
    ReportStatusState_connecting = 0,
    ReportStatusState_connected = 1,
    ReportStatusState_disconnect = 2,
    ReportStatusState_offlineWorkMode = 3
};

class StatusReporter : public QObject
{
    Q_OBJECT
public:
    StatusReporter();

    virtual ~StatusReporter();


signals:
    void reportStatusStateChanged(int state);

};

extern StatusReporter gStatusReporter;

#endif // StatusReporterTask_H
